#include    <stdio.h>
#include    <sys/types.h>   //基本系统数据类型
#include    <dirent.h>

void do_ls(char []);

int main(int argc, char *argv[])
{
    if ( argc == 1 )    //没有参数是，显示 当前万人当
        do_ls( "." );
    else
        while ( --argc ){
            printf("%s:\n", *++argv ); //显示参数
            do_ls( *argv );
        }

    return 0;
}

void do_ls( char dirname[] )
{
    DIR     *dir_ptr;        //DIR表示目录类型
    struct dirent   *direntp;   //目录结构体 

    if ( ( dir_ptr = opendir( dirname ) ) == NULL )
        fprintf(stderr,"ls1: cannot open %s\n", dirname);
    else
    {
        while ( ( direntp = readdir( dir_ptr ) ) != NULL )
            printf("%s\n", direntp->d_name );
        closedir(dir_ptr);
    }
}
